home *** CD-ROM | disk | FTP | other *** search
/ Aminet 45 / Aminet 45 (2001)(GTI - Schatztruhe)[!][Oct 2001].iso / Aminet / game / role / ldmud-3.2-bin.lha / mud / doc / master / privilege_violation < prev    next >
Text File  |  2001-04-23  |  4KB  |  76 lines

  1. SYNOPSIS
  2.         int privilege_violation(string op, mixed who, mixed arg3, mixed arg4)
  3.  
  4. DESCRIPTION
  5.         Validate the execution of a privileged operation.
  6.         op denotes the requested operation, who is the object
  7.         requesting the operation (file_name or object pointer), arg3
  8.         and arg4 are additional arguments, depending on the operation.
  9.  
  10.         The function should return >0 to grant the privilege, 0 to
  11.         indicate that the caller was probably misleaded and the error
  12.         might be fixed, and anything else to indicate a real
  13.         violation, that will be handled as run time error.
  14.  
  15.         The privileged operations are:
  16.         attach_erq_demon  Attach the erq demon to object <arg> with
  17.                           flag <args>.
  18.         bind_lambda          Bind a lambda-closure to object arg3.
  19.         call_out_info          Return an array with all call_out
  20.                           informations.
  21.         execute_command   Execute command string <arg2> for the object
  22.                           <arg>.
  23.         erq               A the request <arg4> is to be send to the
  24.                           erq-demon by the object <who>.
  25.         input_to          Object <who> redirects the next input from
  26.                           commandgiver <arg3>, using <arg4> as value
  27.                           for the flags. This is used for flag values
  28.                           including the 'no bang' option.
  29.         limited:          Execute <arg> with reduced/changed limits.
  30.         nomask simul_efun Attempt to get an efun <arg> via efun:: when
  31.                           it is shadowed by a nomask type simul_efun.
  32.         rename_object          The object <who> tries to rename the object
  33.                           <arg3> to the name <arg4>.
  34.         send_imp          Send UDP-data to host arg3 (deprecated).
  35.         send_udp          Send UDP-data to host arg3.
  36.         set_auto_include_string Set the string automatically included
  37.                           by the compiler into every object.
  38.         get_extra_wizinfo Get the additional wiz-list info for user
  39.                           arg3.
  40.         set_extra_wizinfo Set the additional wiz-list info for user
  41.                           arg3.
  42.         set_extra_wizinfo_size Set the size of the additional user
  43.                           info in the wiz-list to arg3.
  44.         set_driver_hook   Set hook <arg> to <arg2>.
  45.         set_limits        Set limits to <arg>.
  46.         set_this_object          Set this_object() to arg3.
  47.         shadow_add_action Add an action to function arg4 that is
  48.                           shadowed by the object arg3.
  49.         symbol_variable          Attempt to make a symbol from a hidden
  50.                           inherited variable. arg3 is the object in
  51.                           question, arg4 the number of the variable in
  52.                           the variable table.
  53.         wizlist_info          Return an array with all wiz-list
  54.                           information.
  55.  
  56.         call_out_info() can return the arguments to functions and
  57.         lambda closures to be called by call_out(); you should
  58.         consider that read access to closures, mappings and arrays
  59.         means write access and/or other privileges.
  60.         wizlist_info() will return an array which holds, among others,
  61.         the extra wizlist field. While a toplevel array, if found,
  62.         will be copied, this does not apply to nested arrays or to any
  63.         mappings. You might also have some sensitive closures there.
  64.         send_imp() should be watched as it could be abused to mess up
  65.         the IMP.
  66.         The xxx_extra_wizinfo operations are necessary for a proper
  67.         wizlist and should therefore be restricted to admins.
  68.         All other operations are potential sources for direct security
  69.         breaches - any use of them should be scrutinized closely.
  70.  
  71. SEE ALSO        
  72.         simul_efun(C), call_out_info(E), shadow(E), add_action(E),
  73.         send_erq(E), set_this_object(E), rename_object(E),
  74.         bind_lambda(E), send_imp(E), set_auto_include_string(E),
  75.         input_to(E), execute_command(E)
  76.